// 所有接口通用返回类型
export interface ResponseData {
  code: number
  message: string
  ok: boolean
}
// 获取提交订单获取订单号返回的数据类型
export interface SubmitOrderResponseData extends ResponseData {
  data: number
}
// 订单详情的ts数据类型
export interface OrderInfo {
  id: number // 订单id
  createTime: string // 挂号时间
  param: {
    orderStatusString: string // 订单状态
  }
  userId: number // 当前登录用户id
  outTradeNo: string // 交易编码,交易的唯一标识
  hoscode: string // 医院编码
  hosname: string // 医院名称
  depcode: string // 科室编码
  depname: string // 科室名称
  scheduleId: string // 医生id
  title: string // 医生职位
  reserveDate: string // 就诊日期
  reserveTime: number
  patientId: number // 患者id
  patientName: string // 患者姓名
  patientPhone: string // 患者手机号
  hosRecordId: string // 预约记录id
  number: number
  fetchTime: string // 取号时间
  fetchAddress: string // 取号地点
  amount: number // 挂号费
  quitTime: string // 退号时间
  orderStatus: number // 订单状态 0:未支付 1:已支付 -1:取消支付
}
// 获取订单详情返回的ts数据类型
export interface OrderDetailResponseData extends ResponseData {
  data: OrderInfo
}
// 获取微信支付二维码数据类型
export interface QrCode {
  codeUrl: string // 支付二维码路径
  orderId: number // 订单号
  totalFee: number // 支付金额
  resultCode: string
}
export interface QrCodeResponseData extends ResponseData {
  data: QrCode
}
// 查询支付结果的TS数据类型
export interface PayStatusResponseData extends ResponseData {
  data: boolean // true:支付成功 false:支付中
}
// 用户信息的数据类型
export interface UserInfo {
  id: number // 用户id
  openid: string
  nickName: string // 用户昵称
  phone: string // 用户手机号
  name: string // 用户姓名
  certificatesType: string // 身份证的类型 10:身份证 20:户口本
  certificatesNo: string // 证件号码
  certificatesUrl: string // 证件图片路径
  authStatus: number // 1:已经实名认证 0:未实名认证
  status: number
}
// 获取用户信息接口返回的数据类型
export interface UserInfoResponseData extends ResponseData {
  data: UserInfo
}
// 证件类型的ts类型
export interface CertificatesType {
  id: number
  name: string // 证件类型
  value: string // 证件类型对应的值
}
// 获取证件类型接口返回的ts数据类型
export interface CertificatesTypeResponseData extends ResponseData {
  data: CertificatesType[]
}
// 用户认证需要携带参数的类型
export interface UserAuth {
  certificatesNo: string // 证件号
  certificatesType: string // 证件类型
  certificatesUrl: string // 身份证照片
  name: string // 用户名
}
// 用户订单的数据类型
export interface UserOrder {
  id: number // 订单id
  param: {
    orderStatusString: string
  }
  userId: number
  outTradeNo: string
  hoscode: string
  hosname: string // 医院名
  depcode: string
  depname: string // 科室名
  title: string // 医生名
  reserveDate: string // 预约日期
  patientId: number // 患者id
  patientName: string // 患者名
  patientPhone: string // 患者电话
  hosRecordId: string
  number: number
  fetchTime: string // 预约时间
  fetchAddress: string // 预约地点
  amount: number // 挂号费
  quitTime: string // 退号时间
  orderStatus: number // 订单状态
}
// 全部用户订单的数据类型
export type Records = UserOrder[]
// 获取用户全部订单数据返回的数据类型
export interface UserOderResponseData extends ResponseData {
  data: {
    records: Records
    total: number // 总数
    size: number
    current: number
    orders: []
    hitCount: false
    searchCount: true
    pages: number
  }
}
// 订单状态的TS数据类型
export interface OrderStatus {
  comment: string
  status: number
}
// 获取订单全部状态返回数据类型
export interface OrderStatusResponseData extends ResponseData {
  data: OrderStatus[]
}
